1997年信息学奥赛NOI联赛
更早
2022-11-16 14:02:38
63次
一、单选题
二、简答题
为了便于处理表达式,常常将普通表达式(称为中缀表示)转换为前缀{运算符在前,如X/Y写为/XY} 和后缀 { 运算符在后,如X/Y写为XY/}的表达形式。
在这样的表示中可以不用括号即可确定求值的顺序,如:
(P+Q)*(R-S)→*+PQ-RS 或 → PQ + RS -*
①试将下面的表达式改写成前缀与后缀的表示形式:
<A> A+B*C/D <B> A-C*D+B∧E
② 试将下面的前缀表示还原成中缀的表示形式,同时写出后缀表示:
+△A *B△C {前缀式中△表示一元运算符取负号,如△A表示(-A)}
【知识点】 信息学NOI联赛
[问题描述] 一个正整数(非素数)可表示成它的因子(1与其本身除外)的乘积。
例如:12有因子2,3,4,6,所以可表示为:
12=223=43=26
给出任一个正整数N,求出它所有的因子乘积的表达式(交换律得出的不同式子算同一种)。
[算法说明] 读入一个整数N,首先求出它的所有的因子以及每个因子可能的次数。
例如:整数48:
因子:2 3 4 6 8 12 16 24
次数:4 1 2 1 1 1 1 1
将上面的结果存入数组A:ARRAY[0..20,1..2]中。其中:A[¡,1]表示因子;A[¡,2]表示次数。
然后用简单回溯的方法求出所有可能的表示。
数组B[0..20]记录取数情况;c:array[0..20]工作单元。
[程序清单]


【知识点】 信息学NOI联赛
(Q:商,R:余数)可通过下列的方式实现:
然后通过减法与移位的运算,以较少的运算次数完成除法。
,如下图所示:
表示旋转
(N为任意自然数),试求
,则有

,试写出如下字母用十进制表示的ASCII码:
;第二个字节是区位码的位码加



